package com.panda.system.service;

import com.panda.system.domain.PandaTaskDetail;
import com.panda.system.domain.PandaWorkbench;
import com.panda.system.dto.UserTodoReportDto;

import java.util.List;

/**
 * 工作台Service接口
 * 
 * @author panda
 * @date 2021-01-11
 */
public interface IPandaWorkbenchService 
{
    /**
     * 查询工作台
     * 
     * @param id 工作台ID
     * @return 工作台
     */
    public PandaWorkbench selectPandaWorkbenchById(Long id);

    /**
     * 查询工作台列表
     * 
     * @param pandaWorkbench 工作台
     * @return 工作台集合
     */
    public List<PandaWorkbench> selectPandaWorkbenchList(PandaWorkbench pandaWorkbench);

    /**
     * 新增工作台
     * 
     * @param pandaWorkbench 工作台
     * @return 结果
     */
    public int insertPandaWorkbench(PandaWorkbench pandaWorkbench);

    /**
     * 修改工作台
     * 
     * @param pandaWorkbench 工作台
     * @return 结果
     */
    public int updatePandaWorkbench(PandaWorkbench pandaWorkbench);

    /**
     * 批量删除工作台
     * 
     * @param ids 需要删除的工作台ID
     * @return 结果
     */
    public int deletePandaWorkbenchByIds(Long[] ids);

    /**
     * 删除工作台信息
     * 
     * @param id 工作台ID
     * @return 结果
     */
    public int deletePandaWorkbenchById(Long id);

    /**
     * 创建任务完成明细
     * @param taskId
     * @return
     */
    PandaTaskDetail createTaskDetail(Long taskId);

    /**
     * 关闭待办
     */
    void shutDownTodo(PandaWorkbench pandaWorkbench);

    /**
     * 生成todo 消息通知
     * @param todo
     */
    public void createTodoNotice(PandaWorkbench todo);

    /**
     * 生成todo 消息通知
     * @param todo
     */
    public List<PandaWorkbench> queryTodoDatial(PandaWorkbench todo);

    List<UserTodoReportDto> queryUserTodoReport();


}
